<?php
	/**
	 * Arquivo: funcionario.inc
	 * @package Default
	 * @sub-package FUNCIONARIO
	 * @page-level 1
	 */
	/**
	 * Classe de cadastros de funcionários
	 * @package Default
	 * @return void 
	 */
	class FUNCIONARIO extends BANCOS
		{
		/**
		 * Identificação do usuário
		 * @access private
		 * @var integer
		 */
		private $id_user;
		/**
		 * Nível de acesso do usuário
		 * @access private
		 * @var integer
		 */
		private $nivel;
		/**
		 * Níveis de acesso
		 * @access private
		 * @var integer[]
		 */
		private $niveis;
		/**
		 * Acesso a Classe \FORMATAR
		 * @access private
		 * @var mixed
		 */
		private $forma;
		/**
		 * Codigo da entidade
		 * @access public
		 * @var integer
		 */
		public $entidade;
		/**
		 * Construtor da classe FUNCIONARIO
		 *
		 * @param integer $id_user identificação do usuário
		 * @param integer $nivel nível de acesso do usuário
		 *
		 * @return void
		 */
		public function __construct($id_user, $nivel)
			{
			$this->id_user = substr($id_user,2,strlen($id_user));
			$this->nivel = substr($nivel,2,strlen($nivel));
			$this->niveis = array("Administrador","Escola","Cliente");
			$this->forma = new FORMATAR();
			$this->entidade = 0;
			parent::__construct();
			}
		/**
		 * Destrutor da classe FUNCIONARIO
		 * @return void
		 */
		public function __destruct()
			{
			}
		/**
		 * Menu interno do sistema
		 *
		 * @return void
		 */
		public function MenuInterno()
			{
			echo ("<ul>\n");
			echo ("  <li><a href=\"#\" onclick=\"javascript:pegar('funcionario/conteudo.php?subid=1',escrever,'conteudo_interno','msg');\">Listar</a></li>\n");
			echo ("  <li><a href=\"#\" onclick=\"javascript:pegar('funcionario/conteudo.php?subid=2',escrever,'conteudo_interno','msg');\">Incluir</a></li>\n");
			echo ("</ul>\n");
			}
		/**
		 * Listagem geral
		 *
		 * @return void
		 */
		public function listar()
			{
			$sql = "select * from cadastro.funcionario order by nome";
			$this->exec_query($sql);
			if ($this->retorno[0])
				{
				echo ("<table summary=\"contas de usuários\" border=\"1\" cellspacing=\"0\">\n");
				echo ("<tr>\n");
				echo ("<th>ID</th>\n<th>CPF</th>\n<th>Nome</th>\n<th>RG</th>\n<th>Org. Exp.</th>\n");
				echo ("</tr>\n");
				for ($i=0; $i < $this->num_registros; $i++)
					{
					$dados = $this->retorno[1][$i];
					echo ("<tr>\n");
					echo ("<td>".$dados[0]."</td>\n");
					echo ("<td>".$this->forma->cpf($dados[1],1)."</td>\n");
					echo ("<td>".$dados[2]."</td>\n");
					echo ("<td>".$dados[3]."</td>\n");
					echo ("<td>".$dados[4]."</td>\n");
					echo ("<td><a href=\"#\" onclick=\"javascript:pegar('funcionario/conteudo.php?id=".$this->modulo."&subid=3&id_cad=".$dados[0]."',escrever,'conteudo_interno','msg');\">Alterar</a></td>\n");
					if ($this->nivel == 0)
						{
						echo ("<td><a href=\"#\" onclick=\"\">Deletar</a></td>\n");
						}
					echo ("</tr>\n");
					}
				echo ("</table>\n");
				}
			}
		/**
		 * Formulário de Cadastro
		 *
		 * @return void
		 */
		public function novo()
			{
			echo ("<form action=\"funcionario/processar.php\" method=\"POST\" id=\"frm_conta\">\n");
			echo ("<input type=\"hidden\" name=\"id\" id=\"id\" value=\"5\" />\n");
			echo ("<input type=\"hidden\" name=\"op\" id=\"op\" value=\"1\" />\n");
			echo ("Nome: <input type=\"text\" maxlength=\"255\" size=\"40\" id=\"nome\" name=\"nome\" onkeypress=\"javascript:mascara(this,Maiusculos);\" />\n<br/>\n");
			echo ("CPF: <input type=\"text\" maxlength=\"14\" size=\"40\" id=\"cpf\" name=\"cpf\" onkeypress=\"javascrit:mascara(this,cpf_masc);\" />\n<br/>\n");
			echo ("RG: <input type=\"text\" size=\"40\" id=\"rg\" name=\"rg\" /> Orgão Expedidor: <input type=\"text\" size=\"40\" id=\"oexp\" name=\"oexp\" onkeypress=\"javascript:mascara(this,Maiusculos);\" />\n<br/>\n");
			echo ("<input type=\"button\" value=\"Inserir\" onclick=\"javascript:pegarForm_POST('conteudo_interno','frm_conta','msg');\" />\n");
			echo ("</form>\n");
			}
		/**
		 * Formulário de exibição de um registro selecionado.
		 * @param integer $id_cad
		 * @return void
		 */	
		public function mostrar($id_cad)
			{
			$sql = "select * from cadastro.funcionario where id_fun=".$id_cad;
			$this->exec_query($sql);
			if ($this->retorno[0])
				{
				$dados = $this->retorno[1][0];
				echo ("<form action=\"funcionario/processar.php\" method=\"POST\" id=\"frm_conta\">\n");
				echo ("<input type=\"hidden\" name=\"id\" id=\"id\" value=\"5\" />\n");
				echo ("<input type=\"hidden\" name=\"op\" id=\"op\" value=\"2\" />\n");
				echo ("<input type=\"hidden\" name=\"id_cad\" id=\"id_cad\" value=\"".$id_cad."\" />\n");
				echo ("<input type=\"hidden\" name=\"nome_ant\" id=\"nome_ant\" value=\"".$dados[2]."\" />\n");
				echo ("Nome: <input type=\"text\" maxlength=\"255\" size=\"40\" id=\"nome\" name=\"nome\" value=\"".$dados[2]."\" onkeypress=\"javascript:mascara(this,Maiusculos);\" />\n<br/>\n");
				echo ("<input type=\"hidden\" name=\"cpf_ant\" id=\"cpf_ant\" value=\"".$dados[1]."\" />\n");
				echo ("CPF: <input type=\"text\" maxlength=\"14\" size=\"40\" id=\"cpf\" name=\"cpf\" value=\"".$this->forma->cpf($dados[1],1)."\" />\n<br/>\n");
				echo ("<input type=\"hidden\" id=\"rg_ant\" name=\"rg_ant\" value=\"".$dados[3]."\" />\n<input type=\"hidden\" id=\"oexp_ant\" name=\"oexp_ant\" value=\"".$dados[4]."\" />\n");
				echo ("RG: <input type=\"text\" size=\"40\" id=\"rg\" name=\"rg\" value=\"".$dados[3]."\" /> Orgão Expedidor: <input type=\"text\" size=\"40\" id=\"oexp\" name=\"oexp\" value=\"".$dados[4]."\"onkeypress=\"javascript:mascara(this,Maiusculos);\"  />\n<br/>\n");
				echo ("<input type=\"button\" id=\"alterar\" name=\"alterar\" value=\"Alterar Dados\" onclick=\"altera();\" />\n");
				echo ("<input type=\"button\" id=\"salvar\" name=\"salvar\" value=\"Salvar Dados\" onclick=\"javascript:pegarForm_POST('res_conta','frm_conta','msg');\" />\n");
				echo ("</form>\n");
				echo ("<div id=\"res_conta\"></div>\n");
				echo ("<script type=\"text/javascript\">\n");
				echo ("	<!--\n");
				echo ("		document.getElementById(\"nome\").disabled = true;\n");
				echo ("		document.getElementById(\"cpf\").disabled = true;\n");
				echo ("		document.getElementById(\"rg\").disabled = true;\n");
				echo ("		document.getElementById(\"oexp\").disabled = true;\n");
				echo ("		document.getElementById(\"alterar\").disabled = false;\n");
				echo ("		document.getElementById(\"salvar\").disabled = true;\n");
				echo ("		function altera()\n");
				echo ("			{\n");
				echo ("			document.getElementById(\"nome\").disabled = false;\n");
				echo ("			document.getElementById(\"cpf\").disabled = false;\n");
				echo ("			document.getElementById(\"rg\").disabled = false;\n");
				echo ("			document.getElementById(\"oexp\").disabled = false;\n");
				echo ("			document.getElementById(\"alterar\").disabled = true;\n");
				echo ("			document.getElementById(\"salvar\").disabled = false;\n");
				echo ("			}\n");
				echo ("	//-->\n");
				echo ("</script>\n");
				}
			}
		/**
		 * Mostra mensagem de erro do banco de dados
		 *
		 * @return void
		 */
		public function mensagem()
			{
			echo ("Erro na execução do SQL: ");
			echo ($this->msg_sistema);
			}
		/**
		 * Insere um novo registro na base de dados
		 * @param mixed[] $dados
		 * @return boolean 
		 */
		public function inserir($dados)
			{
			$sql = "insert into cadastro.funcionario (nome,cpf,rg,org_exp) values ('".$dados['nome']."','".$this->forma->cpf($dados['cpf'])."','".$dados['rg']."','".$dados['oexp']."');";
			$this->exec_query($sql);
			if ($this->retorno[0])
				{
				return true;
				}
			else 
				{
				return false;
				}
			}
		/**
		 * Salva alterações de um registro selecionado.
		 * @param mixed[] $dados
		 * @return boolean 
		 */
		public function alterar($dados)
			{
			$sql = "update cadastro.funcionario set nome='".$dados['nome']."',cpf='".$this->forma->cpf($dados['cpf'])."',rg='".$dados['rg']."',org_exp='".$dados['oexp']."' where id_fun=".$dados['id_cad'];
			$this->exec_query($sql);
			if ($this->retorno[0])
				{
				return true;
				}
			else 
				{
				return false;
				}
			}
		/**
		 * Lista funcionários cadastrados e vinculados a uma determinada entidade.
		 * @return void
		 */
		public function listar2()
			{
			//echo ($this->entidade);
			$sql = "select funcionario.nome, funcao.descricao, setor.descricao, atividade.descricao, emp_func.data_admissao, funcionario.id_fun ";
			$sql .= "from cadastro.funcionario inner join entidade.emp_func on funcionario.id_fun=emp_func.id_funcionario ";
			$sql .= "inner join cadastro.funcao on emp_func.funcao=funcao.id_funcao inner join cadastro.setor on emp_func.setor=setor.id_setor inner join cadastro.atividade on emp_func.id_atividade=atividade.id ";
			$sql .= "where emp_func.id_entidade=".$this->entidade." and emp_func.data_opcao is null order by funcionario.nome";
			//echo ($sql);
			$this->exec_query($sql);
			echo ("<a href=\"#\" onclick=\"javascript:pegar('entidades/funcionario.php?id_ent=".$this->entidade."&acao=1',escrever,'ent_aux','msg');\">Incluir Funcionário</a>\n");
			if ($this->num_registros > 0)
				{
				echo ("<table summary=\"contas de usuários\" border=\"1\" cellspacing=\"0\">\n");
				echo ("<tr>\n");
				echo ("<th>Nome</th>\n<th>Função</th>\n<th>Setor</th>\n<th>Atividades</th>\n<th>Data Admissão</th>\n<th>ASO</th>\n");
				echo ("</tr>\n");
				$t_func = $this->num_registros;
				$dados = $this->retorno[1];
				for ($i=0; $i < $t_func; $i++)
					{
					echo ("<tr>\n");
					echo ("<td>".$dados[$i][0]."</td>\n");
					echo ("<td>".$dados[$i][1]."</td>\n");
					echo ("<td>".$dados[$i][2]."</td>\n");
					echo ("<td>".$dados[$i][3]."".$this->list_atividades($dados[$i][5])."</td>\n");
					echo ("<td>".$this->forma->data_conv($dados[$i][4])."</td>\n");
					echo ("<td>".$this->aso($dados[$i][5])."</td>\n");
					echo ("<td><a href=\"#\" onclick=\"javascript:pegar('entidades/funcionario.php?acao=3&id_ent=".$this->entidade."&cod_func=".$dados[$i][5]."',escrever,'ent_aux','msg');\">Alterar</a>\n");
					echo ("<td><a href=\"#\" onclick=\"javascript:pegar('entidades/funcionario.php?acao=2&id_ent=".$this->entidade."&funcionario=".$dados[$i][5]."&data=".$dados[$i][4]."',escrever,'ent_aux','msg');\">Opção</a>\n");
					echo ("<td><a href=\"#\" onclick=\"javascript:pegar('treinprog/treinamento.php?id_ent=".$this->entidade."&funcionario=".$dados[$i][5]."',escrever,'treinamento_div','msg');\">Trein</a>\n");
					echo ("</tr>\n");
					}
				echo ("</table>\n");
				}
			else
				{
				echo ($this->msg_sistema);
				}
			}
		/**
		 * Abre formulário para vinculação de um novo funcionário à entidade selecionada.
		 * 
		 * @return void
		 */
		public function novo_funcionario()
			{
			echo ("<div id=\"container\">\n");
			echo ("  <div id=\"leftSide\">\n");
			echo ("    <fieldset>\n");
			echo ("      <legenda>Cadastro de Funcionário</legenda>");
			echo ("      <form action=\"entidades/funcionario.php\" method=\"POST\" id=\"frm_ent\">\n");
			echo ("        <input type=\"hidden\" name=\"id_ent\" id=\"id_ent\" value=\"".$this->entidade."\"/>\n");
			echo ("        <input type=\"hidden\" name=\"acao\" id=\"acao\" value=\"1\" />\n");
			echo ("        <label for=\"nome\">Funcionário</label>\n");
			echo ("        <input type=\"text\" name=\"nome\" id=\"nome\" onkeypress=\"javascrit:mascara(this,Maiusculos);\" onblur=\"javascript:pegar('entidades/new_func.php?acao=1&nome='+document.getElementById('nome').value,escrever,'new_func','msg');\" style=\"width:220px;\" size=\"40\" /><span id=\"new_func\"></span>\n</br>");
			echo ("        <input type=\"hidden\" name=\"funcao\" id=\"funcao\" value=\"1\" />\n");
			echo ("        <input type=\"hidden\" name=\"setor\" id=\"setor\" value=\"1\" />\n");
			/*echo ("        <label for=\"funcao\">Função</label>\n");
			echo ("        <select id=\"funcao\" name=\"funcao\">\n");
			$sql = "select * from cadastro.funcao order by descricao";
			$this->exec_query($sql);
			if ($this->num_registros > 0)
				{
				for ($i=0; $i < $this->num_registros; $i++)
					{
					$dados = $this->retorno[1][$i];
					echo ("        <option value=\"".$dados[0]."\">".$dados[1]."</option>\n");
					}
				}
			echo ("        </select>\n</br>\n");
			echo ("        <label for=\"setor\">Setor</label>\n");
			echo ("        <select id=\"setor\" name=\"setor\">\n");
			$sql = "select * from cadastro.setor order by descricao";
			$this->exec_query($sql);
			if ($this->num_registros > 0)
				{
				for ($i=0; $i < $this->num_registros; $i++)
					{
					$dados = $this->retorno[1][$i];
					echo ("        <option value=\"".$dados[0]."\">".$dados[1]."</option>\n");
					}
				}
			echo ("        </select>\n</br>\n");*/
			echo ("        <label for=\"atividade\">Atividade</label>\n");
			echo ("        <select id=\"atividade\" name=\"atividade\">\n");
			$sql = "select * from cadastro.atividade order by descricao";
			$this->exec_query($sql);
			if ($this->num_registros > 0)
				{
				for ($i=0; $i < $this->num_registros; $i++)
					{
					$dados = $this->retorno[1][$i];
					echo ("        <option value=\"".$dados[0]."\">".$dados[1]."</option>\n");
					}
				}
			echo ("        </select>\n<span id=\"extra_atividade[1]\"><input type=\"button\" value=\" + \" onclick=\"javascript:pegar('funcionario/atividade.php',escrever,'extra_atividade[1]','msg');\" style=\"width:25px;\" /></span></br>\n");
			echo ("        <label for=\"data\">Data Admissão</label>\n");
			echo ("        <input type=\"text\" name=\"data\" id=\"data\" maxlength=\"10\" onkeypress=\"javascript:mascara(this,data_masc);\" onblur=\"javascritp:pegar('funcionario/aso.php?acao=1&data='+document.getElementById('data').value,escrever,'aso_aux','msg')\" />\n<span id=\"aso_aux\"></span></br>\n");
			echo ("        <label for=\"data\">Data Venc. ASO</label>\n");
			echo ("        <input type=\"text\" name=\"data_aso\" id=\"data_aso\" maxlength=\"10\" onkeypress=\"javascript:mascara(this,data_masc);\" />\n</br>\n");
			echo ("        <hr size=\"1\">\n");
			echo ("        <input type=\"button\" value=\"Inserir\" onclick=\"javascript:pegarForm_POST('ent_aux','frm_ent','msg');\" class=\"botao1\">\n");
			echo ("        <input type=\"button\" value=\"Cancelar\" onclick=\"javascript:pegar('entidades/funcionario.php?id_ent=".$this->entidade."',escrever,'ent_aux','msg');\" class=\"botao2\">\n");
			echo ("      </form>\n");
			echo ("    </fieldset>\n");
			echo ("  </div>\n");
			echo ("</div>\n");
			}
		/**
		 * Abre formulário para realizar desvinculação de funcionário previamente selecionado.
		 * 
		 * @return void
		 */
		public function desvincular() 
			{
			echo ("<div id=\"container\">\n");
			echo ("  <div id=\"leftSide\">\n");
			echo ("    <fieldset>\n");
			echo ("      <legenda>Desvinculação de Funcionário</legenda>");
			echo ("      <form action=\"entidades/funcionario.php\" method=\"POST\" id=\"frm_ent\">\n");
			echo ("        <input type=\"hidden\" name=\"id_ent\" id=\"id_ent\" value=\"".$this->entidade."\"/>\n");
			echo ("        <input type=\"hidden\" name=\"acao\" id=\"acao\" value=\"2\" />\n");
			echo ("        <input type=\"hidden\" name=\"funcionario\" id=\"funcionario\" value=\"".$_GET['funcionario']."\" />\n");
			echo ("        <input type=\"hidden\" name=\"data\" id=\"data\" value=\"".$_GET['data']."\" />\n");
			echo ("        <label for=\"data_op\">Data Opção</label>\n");
			echo ("        <input type=\"text\" name=\"data_op\" id=\"data_op\" maxlength=\"10\" onkeypress=\"javascript:mascara(this,data_masc);\" />\n</br>\n");
			echo ("        <input type=\"button\" value=\"Gravar\" onclick=\"javascript:pegarForm_POST('ent_aux','frm_ent','msg');\" class=\"botao1\">\n");
			echo ("        <input type=\"button\" value=\"Cancelar\" onclick=\"javascript:pegar('entidades/funcionario.php?id_ent=".$this->entidade."',escrever,'ent_aux','msg');\" class=\"botao2\">\n");
			echo ("      </form>\n");
			echo ("    </fieldset>\n");
			echo ("  </div>\n");
			echo ("</div>\n");
			}
		/**
		 * Mostra informações sobre funcionário selecionado de empresa
		 * @param integer $codigo
		 * @return void
		 */
		public function mostrar_funcionario($codigo)
			{
			$sql = "select emp_func.*, funcionario.nome from entidade.emp_func inner join cadastro.funcionario on emp_func.id_funcionario=funcionario.id_fun where id_entidade=".$this->entidade." and id_funcionario=".$codigo." and data_opcao is null";
			$this->exec_query($sql);
			$dados = $this->retorno[1][0];
			print_r($dados);
			echo ("<div id=\"container\">\n");
			echo ("  <div id=\"leftSide\">\n");
			echo ("    <fieldset>\n");
			echo ("      <legenda>Alteração de Funcionário</legenda>");
			echo ("      <form action=\"entidades/funcionario.php\" method=\"POST\" id=\"frm_ent\">\n");
			echo ("        <input type=\"hidden\" name=\"id_ent\" id=\"id_ent\" value=\"".$this->entidade."\"/>\n");
			echo ("        <input type=\"hidden\" name=\"funcionario\" id=\"funcionario\" value=\"".$codigo."\"/>\n");
			echo ("        <input type=\"hidden\" name=\"acao\" id=\"acao\" value=\"3\" />\n");
			echo ("        <label for=\"funcionario\">Funcionário</label>\n");
			echo ("        <b>".$dados[7]."</b><br/>");
			echo ("        <label for=\"funcao\">Função</label>\n");
			echo ("        <select id=\"funcao\" name=\"funcao\">\n");
			$sql = "select * from cadastro.funcao order by descricao";
			$this->exec_query($sql);
			if ($this->num_registros > 0)
				{
				for ($i=0; $i < $this->num_registros; $i++)
					{
					$dado = $this->retorno[1][$i];
					if ($dado[0] == $dados[2])
						{
						echo ("        <option value=\"".$dado[0]."\" selected>".$dado[1]."</option>\n");
						}
					else 
						{
						echo ("        <option value=\"".$dado[0]."\">".$dado[1]."</option>\n");
						}
					}
				}
			echo ("        </select>\n</br>\n");
			echo ("        <label for=\"setor\">Setor</label>\n");
			echo ("        <select id=\"setor\" name=\"setor\">\n");
			$sql = "select * from cadastro.setor order by descricao";
			$this->exec_query($sql);
			if ($this->num_registros > 0)
				{
				for ($i=0; $i < $this->num_registros; $i++)
					{
					$dado = $this->retorno[1][$i];
					if ($dado[0] == $dados[3])
						{
						echo ("        <option value=\"".$dado[0]."\" selected>".$dado[1]."</option>\n");
						}
					else 
						{
						echo ("        <option value=\"".$dado[0]."\">".$dado[1]."</option>\n");
						}
					}
				}
			echo ("        </select>\n</br>\n");
			echo ("        <label for=\"atividade\">Atividade</label>\n");
			echo ("        <select id=\"atividade\" name=\"atividade\">\n");
			$sql = "select * from cadastro.atividade order by descricao";
			$this->exec_query($sql);
			if ($this->num_registros > 0)
				{
				for ($i=0; $i < $this->num_registros; $i++)
					{
					$dado = $this->retorno[1][$i];
					if ($dado[0] == $dados[6])
						{
						echo ("        <option value=\"".$dado[0]."\" selected>".$dado[1]."</option>\n");
						}
					else 
						{
						echo ("        <option value=\"".$dado[0]."\">".$dado[1]."</option>\n");
						}
					}
				}
			echo ("        </select>\n</br>\n");
			echo ("        <label for=\"data\">Data Admissão</label>\n");
			echo ("        <input type=\"hidden\" name=\"data_ant\" id=\"data_ant\" value=\"".$dados[4]."\" />\n");
			echo ("        <input type=\"text\" name=\"data\" id=\"data\" value=\"".$this->forma->data_conv($dados[4])."\" maxlength=\"10\" onkeypress=\"javascript:mascara(this,data_masc);\" />\n</br>\n");
			echo ("        <hr size=\"1\">\n");
			echo ("        <input type=\"button\" value=\"Salvar\" onclick=\"javascript:pegarForm_POST('ent_aux','frm_ent','msg');\" class=\"botao1\">\n");
			echo ("        <input type=\"button\" value=\"Cancelar\" onclick=\"javascript:pegar('entidades/funcionario.php?id_ent=".$this->entidade."',escrever,'ent_aux','msg');\" class=\"botao2\">\n");
			echo ("      </form>\n");
			echo ("    </fieldset>\n");
			echo ("  </div>\n");
			echo ("</div>\n");
			}
		/**
		 * Insere ou atualiza situação de funcionário à entidade.
		 * @param mixed[] $dados
		 * @return void
		 */
		public function vinc_acao($dados)
			{
			//print_r($dados);
			$func_id = $dados['funcionario'];
			//echo($func_id);
			if ($func_id == -1)
				{
				$sql_i = "insert into cadastro.funcionario (nome,cpf,rg,org_exp) values ('".$dados['nome']."','".$this->forma->cpf($dados['cpf'])."','".$dados['rg']."','".$dados['oexp']."') returning id_fun;";
				$this->exec_query($sql_i);
				//echo ($sql_i);
				//echo ("teste");
				if (!$this->retorno[0])
					{
					echo ($this->msg_sistema);
					//break;
					}
				$func_id = $this->retorno[1][0][0];
				//echo ("OK ".$func_id);
				}
			switch($dados['acao']) 
				{
				case 1:
					{
					$sql = "insert into entidade.emp_func (id_funcionario,id_entidade,funcao,setor,id_atividade,data_admissao) values (".$func_id.",".$dados['id_ent'].",".$dados['funcao'].",".$dados['setor'].",".$dados['atividade'].",'".$this->forma->data_conv($dados['data'],2)."');";
					$sql .= "update treinamento.aso_func set renovado=true where id_entidade=".$dados['id_ent']." and id_funcionario=".$func_id." and not renovado;insert into treinamento.aso_func(id_entidade,id_funcionario,id_aso,data_cert,data_validade) values(".$dados['id_ent'].",".$func_id.",1,'".$this->forma->data_conv($dados['data'],2)."','".$this->forma->data_conv($dados['data_aso'],2)."');";
					$extra_atv = $dados['atividades'];
					for ($at=0; $at < count($extra_atv); $at++)
						{
						$sql .= "insert into emp_func_atividade values(".$dados['id_ent'].",".$func_id.",".$extra_atv[$at].");";
						}
					//echo ($sql);
					$this->sugestoes($dados,$func_id);
					break;
					}
				case 2:
					{
					$sql = "update entidade.emp_func set data_opcao='".$this->forma->data_conv($dados['data_op'],2)."' where id_funcionario=".$dados['funcionario']." and id_entidade=".$dados['id_ent']." and data_admissao='".$dados['data']."'";
					$sql .= "insert into treinamento.aso_func values(".$dados['id_ent'].",".$dados['funcionario'].",2,'".$this->forma->data_conv($dados['data_op'],2)."','".$this->forma->data_conv($dados['data_op'],2)."',true)";
					break;
					}
				case 3:
					{
					$sql = "update entidade.emp_func set funcao=".$dados['funcao'].",setor=".$dados['setor'].",id_atividade=".$dados['atividade'].",data_admissao='".$this->forma->data_conv($dados['data'],2)."' where id_funcionario=".$dados['funcionario']." and id_entidade=".$dados['id_ent']." and data_admissao='".$dados['data_ant']."'";
					break;
					}
				}
			//echo ($sql);
			$this->exec_query($sql);
			if (!$this->retorno[0])
				{
				echo ($this->msg_sistema);
				}
			}
		/**
		 * Registra possíveis treinamentos para funcionário recém vinculado à entidade.
		 * @param mixed[] $info
		 * @param integer $func
		 * @return void
		 */
		private function sugestoes($info,$func)
			{
			$codigo = $func;
			$setor = $info['setor'];
			$funcao = $info['funcao'];
			$atividade = $info['atividade'];
			if ($info['acao'] == 3)
				{
				$sqld = "delete from sugestoes where entidade=".$this->entidade." and funcionario=".$codigo;
				$this->exec_query($sqld);
				}
			$dados = array();
			//sugestões de CNAE
			$sql = "select id_treinamento from cadastro.entidade inner join treinamento.cnae_trein on entidade.cnae=cnae_trein.cnae where id_ent=".$this->entidade;
			$this->exec_query($sql);
			if ($this->num_registros > 0)
				{
				for ($i=0; $i < $this->num_registros; $i++)
					{
					$dados[] = $this->retorno[1][$i][0];
					}
				}
			//sugestões por setor
			$sql = "select id_treinamento from treinamento.setor_trein where id_setor=".$setor;
			$this->exec_query($sql);
			if ($this->num_registros > 0)
				{
				for ($i=0; $i < $this->num_registros; $i++)
					{
					if (!in_array($this->retorno[1][$i][0], $dados))
						{
						$dados[] = $this->retorno[1][$i][0];
						}
					}
				}
			//sugestões por setor
			$sql = "select id_treinamento from treinamento.funcao_trein where id_funcao=".$funcao;
			$this->exec_query($sql);
			if ($this->num_registros > 0)
				{
				for ($i=0; $i < $this->num_registros; $i++)
					{
					if (!in_array($this->retorno[1][$i][0], $dados))
						{
						$dados[] = $this->retorno[1][$i][0];
						}
					}
				}
			//sugestões por atividade
			$sql = "select id_treinamento from treinamento.ativ_trein where id_atividade=".$atividade;
			$this->exec_query($sql);
			if ($this->num_registros > 0)
				{
				for ($i=0; $i < $this->num_registros; $i++)
					{
					if (!in_array($this->retorno[1][$i][0], $dados))
						{
						$dados[] = $this->retorno[1][$i][0];
						}
					}
				}
			//sugestões por atividades
			$extra_atv = $info['atividades'];
			for ($at=0; $at < count($extra_atv); $at++)
				{
				$sql = "select id_treinamento from treinamento.ativ_trein where id_atividade=".$extra_atv[$at];
				$this->exec_query($sql);
				if ($this->num_registros > 0)
					{
					for ($i=0; $i < $this->num_registros; $i++)
						{
						if (!in_array($this->retorno[1][$i][0], $dados))
							{
							$dados[] = $this->retorno[1][$i][0];
							}
						}
					}
				}
			$sql = "";
			for ($i=0; $i < count($dados); $i++)
				{
				$sql .= "insert into sugestoes values(".$this->entidade.",".$codigo.",".$dados[$i].");";
				}
			$this->exec_query($sql);
			}
		/**
		 * Mostra os treinamentos do tipo ASO de funcionário.
		 * @param integer $codigo
		 * @return void
		 */
		public function aso($codigo)
			{
			$bd = new BANCOS();
			$sql = "select tp_aso.descricao, aso_func.data_cert, aso_func.data_validade from treinamento.aso_func inner join cadastro.tp_aso on aso_func.id_aso=tp_aso.id where aso_func.id_entidade=".$this->entidade." and aso_func.id_funcionario=".$codigo." and not renovado order by aso_func.data_validade desc";
			//echo ($sql);
			$bd->exec_query($sql);
			echo ($bd->msg_sistema);
			$retorno = "<span id=\"aso_cad".$codigo."\">";
			if ($bd->num_registros > 0)
				{
				for ($i=0; $i < $bd->num_registros; $i++)
					{
					$dados = $bd->retorno[1][$i];
					$retorno .= "Venc. ".$dados[0]." - ".$this->forma->data_conv($dados[2])."<br/>\n";
					}
				}
			$retorno .= "<span onclick=\"javascritp:pegar('funcionario/aso.php?acao=2&codigo=".$codigo."&entidade=".$this->entidade."',escrever,'aso_cad".$codigo."','msg');\" style=\"font-family: Arial, Helvetica, sans-serif;font-weight:bold;color:#416824;background-color:#7EC532\">Cadastrar</span>";
			$retorno .= "</span>\n";
			return($retorno);
			}
		/**
		 * Mostra as atividades de funcionário.
		 * @param integer $codigo
		 * @return string $ret
		 */
		public function list_atividades($codigo)
			{
			$sql = "select atividade.descricao from emp_func_atividade inner join cadastro.atividade on emp_func_atividade.id_atividade=atividade.id where emp_func_atividade.id_entidade=".$this->entidade." and emp_func_atividade.id_funcionario=".$codigo;
			//echo ($sql);
			$this->exec_query($sql);
			if ($this->retorno[0])
				{
				$tota = $this->num_registros;
				$atv = $this->retorno[1];
				$ret = "";
				if ($tota > 0)
					{
					for ($ia=0; $ia < $tota; $ia++)
						{
						$ret .= "</br>".$atv[$ia][0];
						}
					}
				else 
					{
					$ret = "";
					}
				}
			else 
				{
				$ret .= $this->msg_sistema;
				}
			return ($ret);
			}
		};//FUNCIONARIO
?>